package com.tanyoujie.cart.service;

import com.tanyoujie.cart.vo.CartItemVo;
import com.tanyoujie.cart.vo.CartVo;
import com.tyj.common.utils.R;

import java.util.List;

public interface CartService {
    CartItemVo addToCart(Long skuId, Integer count);

    /**
     * 通过skuId得到购物车信息
     * @param skuId
     * @return
     */
    CartItemVo getCartItem(Long skuId);

    /**
     * 查询用户的购物车
     * @return
     */
    CartVo getCart();


    /**
     * 修改购物车的数量
     * @param skuId
     * @param count
     * @return
     */
    R editCartCount(Long skuId, Integer count);

    /**
     * 删除购物车
     * @param skuId
     */
    void deleteCart(Long skuId);

    /**
     * 得到购物车数量
     * @return
     */
    Long getCartNum();

    void checkCart(boolean isChecked, Integer skuId);


    /**
     * 得到正在选中状态的购物车
     * @return
     */
    List<CartItemVo> getCheckedItems();
}
